A Software Engineering Project Courses with Industrial Clients1
نویسندگان
چکیده
There is an acknowledged need for teaching realistic software development in project courses. The design space for such courses is wide, ranging from single semester to two semesters courses, from single client to multi-customer courses, from local to globally distributed courses, and from toy projects to projects with real clients. The challenge for a non-trivial project course is how to make the project complex enough to enrich the students’ software engineering experience, yet realistic enough to have a teaching environment that does not unduly burden students or the instructor. We describe a methodology for project courses that is realizable for instructors, improves the students’ skills and leads to viable results for industry partners. In particular recent advances in release management and collaboration workflows reduce the effort of students and instructors during delivery and increase the quality of the deliverables. To enable release and feedback management, we introduce Rugby, an agile process model based on Scrum that allows reacting to changing requirements. To improve early communication, we use Tornado, a scenario-based design approach that emphasizes the use of informal models for the interaction between clients and students. The combination of Rugby and Tornado allows students to deal with changing requirements, to produce multiple releases and to obtain client feedback throughout the entire duration of the course. We describe our experience with more than 300 students working in 40 projects with external clients over the duration of four years. In the latest instance of our course, the students have produced more than 7000 builds with 600 releases for eleven clients. In an evaluation of the courses, we found that the introduction of Rugby and Tornado significantly increased the students’ technical skills, in particular with respect to software engineering, usability engineering and configuration management as well as their non-technical skills such as communication with the client, team work, presentation and demo management. Finally we discuss how other instructors can adapt the course concept.
منابع مشابه
How Project-based Courses face the Challenge of educating Software Engineers
One way of teaching software engineering is to organize a course around a project similar to a real industrial project. This paper surveys some educational projects that have been presented in the literature. Some projects rely on a customer from the industrial world, on industrial CASE tools, on industrial process models, or on a combination of these. The presented survey is limited because of...
متن کاملA Taxonomy of Organizational Alternatives for Project-Oriented Software Engineering Courses
Industrial software development today requires a fundamental software engineering education as well as the ability to work productively and collaboratively in a team environment. In order to produce graduates possessing the skills necessary to succeed in the workplace, team-oriented software engineering courses with real projects (and with real clients) are increasingly emphasized. There are a ...
متن کاملSoftware Engineering Education: The Synergy of Combined Research and Teaching
Teaching software engineering is a sumptuous task. In particular, practical software engineering courses require a lot of experienced teaching staff, who are, as a result, kept away from research projects. In this paper, we report on a software engineering course using a large interdisciplinary project from current research. This way, the students were challenged by an interesting industrial st...
متن کاملProblem-Oriented and Project-Based Learning (POPBL) in Software Engineering
At Aalborg University (AAU) we have two software engineering programmes: bachelor and master. Both consist of modules (semesters) worth 30 ECTS credit points, where each module except the last consists of a problem-oriented, semester-long project and a number of courses. The projects are conducted in small student groups under a particular theme as defined in the curriculum and are often conduc...
متن کاملEnergizing Software Engineering Education through Real-World Projects as Experimental Studies
The use of a semester-long project to apply theoretical knowledge and provide “handson” experience has long been a staple of software engineering courses. Our experience shows that a typical industrial project can also enhance software engineering research and bring theories to life. The University of Kentucky (UK) is in the initial phase of developing a software engineering curriculum. The fir...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017